package me.gavin.util

import android.app.Activity
import android.graphics.Rect
import android.view.View

/**
 * 解决包安装完成直接点击打开后回到桌面 再次点图标应用重启问题 - 启动页
 */
fun Activity.fixRelaunchAfterInstall() {
    if (!this.isTaskRoot) {
        finish()
    }
}

/**
 * 修复软键盘遮挡输入框问题 - 在全屏布局上使用 - WebView?
 *
 * @see [https://juejin.im/post/5a25f6146fb9a0452405ad5b#heading-9]
 * @see [http://stackoverflow.com/a/19494006]
 */
fun View.fixSoftCoverInput() {
    var lastUsableHeight = 0
    viewTreeObserver.addOnGlobalLayoutListener {
        // 计算视图可视高度
        val usableHeightNow = Rect().also { getWindowVisibleDisplayFrame(it) }.bottom
        // 如果两次高度不一致
        if (usableHeightNow != lastUsableHeight) {
            // 将计算的可视高度设置成视图的高度 并请求重新布局
            lastUsableHeight = usableHeightNow
            layoutParams.height = usableHeightNow
            requestLayout()
        }
    }
}

